﻿Imports Commander_Wars.Spieletools
Public Class KOAlexander
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "ALEXANDER"
        Armee = Armeen.BM.ToString
        Musik = "Alexander"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 4
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        Besetzer = 1
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If OhneFunktion = False Then
            RestartBesetzungen()
            BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
        End If
        Besetzer = 8
        GabeEingesetzt()
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars Then
            If OhneFunktion = False Then
                RestartBesetzungen()
                BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
            End If
            Besetzer = 8
            GabeEingesetzt()
        Else
            If OhneFunktion = False Then
                GetHalfMoney()
                Keineinkommen()
                BackbufferSpiel.AddAnimation("SCREENFLASH", 0, New Point, True, ObjektSpielfeld.TopLayer)
            End If
            GabeEingesetzt()
        End If
    End Sub
    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectCaptureRestart)
                Return P
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectGetHalfMoney)
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectNoIncome)
                Return P
            Case Else
                Return Nothing
        End Select
    End Function

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungAlexander
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Alexander"
        Fein = "Frieden"
        Nein = "Kriminalitaet"
        Beschreibung = New String() {"Ein engagierter Politiker,", "der fuer das Wohl des Volkes", "arbeitet.Er ist der Sohn", "von Olaf."}
        Stil = New String() {"Er kann Gebaeude etwas", "schneller einnehmen."}
        Gabebeschreibung = New String() {"Seine Truppen koennen schneller", "besetzen, waehrend feindliche", "Truppen erneut beginnen muessen."}
        SpezialgabeBeschreibung = New String() {"Alle Feinde verlieren alles", "Geld welches sie Einnehmen wuerden.", "Die haelfte davon erhaelt", "Alexander."}
        GabeKosten = 2
        Spezialgabekosten = 4
        Gaben = New String() {"Friedliche Unruhen", "Unausweichliche Revolution"}
        Synergie = New Decimal() {2, 1, -2, -1}
        KONamen = New String() {"OLAF", "SASHA", "HACHI", "VON BOLT"}
        Doppelgabenamen = New String() {"Patriotismus", "Geld und Ehre", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Kameraden, ich bitte euch seht es aus meinen Augen..." _
                                    , "Es gibt mehr im Krieg als Kugeln und Explsionen." _
                                    , "Dieses planke Entsetzen in eurem Gesicht!... Sehr erfrischend." _
                                    , "Mein Volk! Zeigt euren Willen durch Taten als durch Woerter." _
                                    , "Nun wird sich zeigen auf wessen Seite sie stehen." _
                                    , "Vielleicht wird euch dies ueberzeugen." _
                                    , "Man kann einen Krieg nur gewinnen, wenn die Menschen hinter einen sind. Und sie unterstuezen mich."}
        Siegsaetze = New String() {"Ironischer Weise habt ihr wegen eurem hohen Ranks verloren." _
                                , "Ah jetzt weiss ich warum sie auf meiner Seite waren." _
                                , "Nur durch das vermeiden von Rivalitaeten habe ich gewonnen."}
        Tauschsaetze = New String() {"Muss ich jetzt handeln?" _
                                    , "Ich sollte aufs Schlachtfeld."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("ALEXANDER", "OLAF", "Bin ich gut genug?", "Das ist es was dir fehlt! Ein Anfuehrer muss von sich selbst ueberzeugt sein.") _
                                              , New DoppelGabesatz("ALEXANDER", "OLAF", "Wann kommst du runter Vater?", "Wenn ich Lust habe. Hast du denn keine Ideen...") _
                                              , New DoppelGabesatz("OLAF", "ALEXANDER", "Ich hoffe du hast was aus ihrer Niederlage gelernt. Mein Sohn.", "Was? Das Inkompetenz unabwendbar ist? Ich glaube das nicht.") _
                                              , New DoppelGabesatz("OLAF", "ALEXANDER", "Naechstes Mal ueberlasse ich dir einen Teil des Ruhms.", "Ohne mich waeren sie gar nicht auf deiner Seite.") _
                                              , New DoppelGabesatz("ALEXANDER", "SASHA", "Wenn wir den Menschen etwas von deinem Reichtum...", "Hoer genau dort auf!") _
                                              , New DoppelGabesatz("ALEXANDER", "SASHA", "Fuer die freien und gluecklichen Menschen.", "Du bist lustig. Manchmal bist du so naiv.") _
                                              , New DoppelGabesatz("SASHA", "ALEXANDER", "Wie erwartet wir werden gewinnen.", "Bravo, meine Dame! Aber sei nicht zu voreilig") _
                                              , New DoppelGabesatz("SASHA", "ALEXANDER", "Du siehst immer so aus als wuerdest du dir selbst gefallen.", "Waaa...?! I...ch kaempfe nur fuer die Menschen...")}

        Niederlagesaetze = New String() {"Blue Moon es tut mir leid.", _
                                     "Das ist das Ende der Freiheit"}
    End Sub
End Class
